Tabling with Answer Subsumption: Implementation, Applications and Performance
نویسندگان
چکیده
Tabled Logic Programming (TLP) is becoming widely available in Prolog systems, but most implementations of TLP implement only answer variance in which an answer A is added to the table for a subgoal S only if A is not a variant of any other answer already in the table for S. While TLP with answer variance is powerful enough to implement the well-founded semantics with good termination and complexity properties, TLP becomes much more powerful if a mechanism called answer subsumption is used. XSB implements two forms of answer subsumption. The first, partial order answer subsumption, adds A to a table only if A is greater than all other answers already in the table according to a user-defined partial order. The second, lattice answer subsumption, may join A to some other answer in the table according to a user-defined upper semi-lattice. Answer subsumption can be used to implement paraconsistent and quantitative logics, abstract analysis domains, and preference logics. This paper discusses the semantics and implementation of answer subsumption in XSB, and discusses performance and scalability of answer subsumption on a variety of problems.
منابع مشابه
Tabling with Sound Answer Subsumption
Tabling is a powerful resolution mechanism for logic programs that captures their least fixed point semantics more faithfully than plain Prolog. In many tabling applications, we are not interested in the set of all answers to a goal, but only require an aggregation of those answers. Several works have studied efficient techniques, such as lattice-based answer subsumption and mode-directed tabli...
متن کاملMode-Directed Tabling and Applications in the YapTab System
Tabling is an implementation technique that solves some limitations of Prolog’s operational semantics in dealing with recursion and redundant sub-computations. Tabling works by memorizing generated answers and then by reusing them on similar calls that appear during the resolution process. In a traditional tabling system, all the arguments of a tabled subgoal call are considered when storing an...
متن کاملProgram Updating by Incremental and Answer Subsumption Tabling
We explore the use of state-of-the-art Logic Programming (LP) implementation techniques to exploit their use in addressing a classical non-monotonic reasoning problem, that of LP program updates, with incidence on representing change, i.e. internal or self and external or world changes. We do so starting from a given LP update language and a given LP implementation system. We propose and foster...
متن کاملTabling and Answer Subsumption for Reasoning on Logic Programs with Annotated Disjunctions
The paper presents the algorithm “Probabilistic Inference with Tabling and Answer subsumption” (PITA) for computing the probability of queries from Logic Programs with Annotated Disjunctions. PITA is based on a program transformation techniques that adds an extra argument to every atom. PITA uses tabling for saving intermediate results and answer subsumption for combining different answers for ...
متن کاملOn the Optimality of Scheduling Strategies in Subsumption-based Tabled Resolution
Subsumption-based tabled logic programming promotes more aggressive reuse of answer tables over variant-based tabling. However resolving subgoals against answers in tabled logic programming may require accessing incomplete answer tables (i.e., more answers remain to be added). In subsumption-based tabling it is far more efficient to retrieve from completed tables. Scheduling strategies promote ...
متن کامل